SignalR হলো একটি ASP.NET Core লাইব্রেরি যা রিয়েল-টাইম, দু-মুখী (bidirectional) যোগাযোগের জন্য ব্যবহৃত হয়। এটি সার্ভার এবং ক্লায়েন্টের মধ্যে দ্রুত ও অবিচ্ছিন্ন ডেটা সঞ্চালন নিশ্চিত করে, যা বিশেষ করে চ্যাট অ্যাপ্লিকেশন, লাইভ নিউজ ফিড, ফাইনান্সিয়াল ট্র্যাকিং, এবং অন্যান্য রিয়েল-টাইম পরিষেবায় উপকারী।
SignalR মূলত HTTP প্রোটোকল থেকে আলাদা একটি যোগাযোগ স্তর প্রদান করে যা WebSockets, Server-Sent Events (SSE), এবং Long Polling প্রযুক্তি ব্যবহার করে। SignalR ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা আদান-প্রদানকে আরও কার্যকর এবং দ্রুত করে তোলে।
SignalR মূলত Hub কনসেপ্টের উপর ভিত্তি করে কাজ করে। Hub হলো একটি ক্লাস যা সার্ভারের এবং ক্লায়েন্টের মধ্যে যোগাযোগ স্থাপন করে। আপনি SignalR হাবের মাধ্যমে ক্লায়েন্টের সাথে যোগাযোগ করতে পারেন এবং বার্তা পাঠাতে পারেন।
SignalR হাব তৈরি করতে হলে আপনাকে প্রথমে একটি Hub ক্লাস তৈরি করতে হবে, যা রিয়েল-টাইম মেসেজিং লজিক ধারণ করবে। উদাহরণস্বরূপ, একটি চ্যাট হাব তৈরি করা যেতে পারে:
public class ChatHub : Hub
{
public async Task SendMessage(string user, string message)
{
await Clients.All.SendAsync("ReceiveMessage", user, message);
}
}
এই কোডটি SendMessage
নামক একটি মেথড প্রদান করছে যা সমস্ত ক্লায়েন্টে মেসেজ পাঠাবে। Clients.All.SendAsync
ব্যবহার করে আপনি সমস্ত সংযুক্ত ক্লায়েন্টকে একযোগে মেসেজ পাঠাতে পারবেন।
SignalR হাবের সাথে ক্লায়েন্ট সাইডে যোগাযোগের জন্য, আপনাকে JavaScript বা TypeScript ব্যবহার করতে হবে। সাধারণত, JavaScript কোডটি SignalR হাবের সাথে সংযুক্ত হওয়ার জন্য ব্যবহৃত হয়। উদাহরণস্বরূপ:
const connection = new signalR.HubConnectionBuilder()
.withUrl("/chatHub")
.build();
connection.on("ReceiveMessage", function (user, message) {
console.log(user + ": " + message);
});
connection.start().catch(function (err) {
return console.error(err.toString());
});
এখানে, connection.on
মেথডটি ব্যবহার করে আপনি সার্ভার থেকে আসা মেসেজ গ্রহণ করতে পারেন এবং তা ক্লায়েন্ট সাইডে প্রদর্শন করতে পারেন।
SignalR সাধারণত যেসব ক্ষেত্রে ব্যবহৃত হয়, তা হল:
SignalR হলো একটি শক্তিশালী লাইব্রেরি যা ASP.NET Core এর মধ্যে রিয়েল-টাইম, দু-মুখী যোগাযোগ সুবিধা প্রদান করে। এটি বিশেষ করে চ্যাট অ্যাপ্লিকেশন, লাইভ ট্র্যাকিং, এবং রিয়েল-টাইম আপডেটের জন্য ব্যবহার করা হয়। SignalR এর মাধ্যমে আপনি ক্লায়েন্ট এবং সার্ভারের মধ্যে দ্রুত এবং অবিচ্ছিন্ন ডেটা সঞ্চালন নিশ্চিত করতে পারেন, যা আপনার অ্যাপ্লিকেশনকে আরও উন্নত এবং ইন্টারেক্টিভ করে তোলে।
common.read_more